1. Field of the Invention
The present invention relates generally to a computer implemented method, data processing system, and computer program product for managing processing loads on a server. More specifically, the present invention relates to selecting clients having demonstrable high processing loads and migrating communication tasks to such clients to a second server.
2. Description of the Related Art
People have become increasingly dependent on receiving reports of specific events or news to suit the tastes of individual computer users. In recent decades, computers have transformed from a largely academic tool with occasional personal uses, to a personal accessory among those who want to remain informed. Accordingly, a diversity of clients are in use today. Such clients operate in a variety of computers in a manner to assist users who subscribe to newsworthy and other events.
Clients operating in a network provide reports to users in real-time, for example, on each update of tennis scores among several matches being held simultaneously. A client includes data processing system resources allocated to executing computer instructions to render data concerning messages and topics to a user through any convenient user interface. A client may perform other functions in support of messaging, such as, allow a user to configure the language of the client, establish power saving modes, and inform the user of errors and status of the client. In contrast, client software is the instructions of the client serialized to storage or for transmission.
In a specific example, thousands of subscribers of a type of computer known as the smartphone, can be updated within seconds of a score changing in the Tennis U.S. Open. Because of the variety of computers, and the variety of networking environments used to connect, a portion of clients can fail to acknowledge or otherwise responsively cooperate with queues of messages sent from a server.
The reasons to fail to acknowledge or otherwise accept messages include, for example, interference by a proxy, a slow transmitting modem, the client being located on a different continent, or a poorly operating client on the computer, to name a few. In other words, although a client may send responsive packets to a server, the packets might not reach the server in time because the packets are lost, or delayed. A packet is a unit into which information is divided for transmission across the Internet. A packet may include administrative information such as source, destination, serial number, protocol type and the like. In addition, some clients may run applications that delay the responses that a server expects from the clients. This condition, as well, places a heavier load on a server than does the condition of a client that immediately responds to messages.
Social media is another scenario where clients, and especially mobile clients, may subscribe to topics. For example, hundreds of thousands of users may subscribe to a single celebrity, using for example, Twitter® social media or Facebook® social media. If such topics are delivered by a publish/subscribe mechanism, potentially, slow or turned-off clients may create processing delays at the server.
A suitable remedy is sought.